package io.mft.as.adapter.exception;

/**
 * 业务异常类(参考原gateway-server包的InvokeException，逐步替代和废除InvokeException)
 * errMsg即用于打印日志，也用于显示返回信息(注意，这一点与BusinessException不同)
 * 注意：本类的errorType属性，需要在拦截器或基类中转换成errorCode
 * @author 肖明
 */
public class CommonException extends RuntimeException {
	private static final long serialVersionUID = 1L;
	
	private int errorType;//
	public int getErrorType() {
		return errorType;
	}
	
	/**
	 * @param errorType 错误类型，范围0~99，底层会将功能码和错误类型拼接起来作为错误码
	 */
	public CommonException(int errorType){
		super();
		this.errorType = errorType;
	}
	/**
	 * @param errorType 错误类型，范围0~99，底层会将功能码和错误类型拼接起来作为错误码
	 * @param errMsg 给调用者的提示信息
	 */
	public CommonException(int errorType, String errMsg){
		super(errMsg);
		this.errorType = errorType;
	}
	/**
	 * @param errorType 错误类型，范围0~99，底层会将功能码和错误类型拼接起来作为错误码
	 * @param t 引起错误的异常
	 */
	public CommonException(int errorType, Throwable t){
		super(t);
		this.errorType = errorType;
	}
	/**
	 * @param errorType 错误类型，范围0~99，底层会将功能码和错误类型拼接起来作为错误码
	 * @param errMsg 给调用者的提示信息
	 * @param t 引起错误的异常
	 */
	public CommonException(int errorType, String errMsg, Throwable t){
		super(errMsg, t);
		this.errorType = errorType;
	}
}